Recommendation systems have become increasingly popular in the past few years. They are used in a variety of different domains, for example, for suggesting movies to watch, products to buy, music to listen to and people to connect with. Existing recommendation systems help users discover items that they might not have found by themselves. Existing recommendation systems, however, have numerous problems.
First, existing recommendation systems are good at providing relevant suggestions but they fail in providing surprising suggestions to the user. Second, existing recommendation systems are of limited usefulness because they provide purely relevant suggestions for things that the user is likely to already be aware of. For example, a system that recommends a book to a user because the user has read another book by the same author is not helpful because the user is probably already aware of the author's other books. What is needed is a system that provides better recommendations.